package cn.cheniy.swiftmark.auth.config;

import com.anji.captcha.model.common.CaptchaTypeEnum;
import com.anji.captcha.model.common.Const;
import com.anji.captcha.service.CaptchaService;
import com.anji.captcha.service.impl.CaptchaServiceFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.Properties;

/**
 * @author cheniy
 * @description
 *
 */
@Configuration
public class CaptchaConfig {


    /**
     * Spring 会扫描到 CaptchaConfig 类，并调用 captchaService 方法创建一个 CaptchaService 实例。
     * 之后，可以在其他组件中通过依赖注入的方式使用这个 CaptchaService 实例来生成和验证验证码。
     * @return
     */
    @Bean
    public CaptchaService captchaService() {
        Properties config = new Properties();
        config.put(Const.CAPTCHA_CACHETYPE, "redis");
        config.put(Const.CAPTCHA_WATER_MARK, "");
        // 滑动验证
        config.put(Const.CAPTCHA_TYPE, CaptchaTypeEnum.BLOCKPUZZLE.getCodeValue());
        //	config.put(Const.ORIGINAL_PATH_JIGSAW, FileUtil.getAbsolutePath("classpath:captcha"));
        return CaptchaServiceFactory.getInstance(config);
    }

    /**
     * // 调用验证码服务生成验证码
     *         Captcha captcha = captchaService.getCaptcha();
     *         // 处理生成的验证码
     */

}
